冷月葬花魂 发表于 2015-1-16 22:21:16

MSSQL网站制作之将SQL Server中一切表的列信息显现出来...

在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:正在作一个关于SQLSERVER数据库导进Excel文件的程序,要读取数据库中的列的信息,从网上找了良多材料,终究总结出来对照幻想的sql语句,实行后前往的列分离是:表名、列名、列范例、列长度、列形貌、是不是主键,语句以下:1 SelectSysobjects.NameAsTb_name,Syscolumns.NameAsCol_name,Systypes.NameAsCol_type,Syscolumns.LengthAsCol_len,Isnull(Sysproperties.Value,Syscolumns.Name)AsCol_memo,
2 CaseWhenSyscolumns.NameIn
3 (Select主键=A.Name
4 FromSyscolumnsA
5 InnerJoinSysobjectsBOnA.Id=B.IdAndB.Xtype=UAndB.NameDtproperties
6 WhereExists(Select1FromSysobjectsWhereXtype=PkAndNameIn(
7 SelectNameFromSysindexesWhereIndidIn(
8 SelectIndidFromSysindexkeysWhereId=A.IdAndColid=A.Colid
9 )))
10 AndB.Name=Sysobjects.Name
11 )
12 Then1Else0EndAsIs_key
13
14 FromSysobjects,Systypes,Syscolumns
15 LeftJoinSyspropertiesOn(Syscolumns.Id=Sysproperties.IdAnd
16 Syscolumns.Colid=Sysproperties.Smallid)
17
18 Where(Sysobjects.Xtype=UOrSysobjects.Xtype=V)
19 AndSysobjects.Id=Syscolumns.IdAndSystypes.Xtype=Syscolumns.Xtype
20 AndSystypes.NameSysnameAndSysobjects.NameLike%OrderBySysobjects.Name,Syscolumns.Colid
了局如图:



因此我们的保存数据方法就是:在删除的动作开始之前,把表数据备份起来,然后留一个空表,在空表上执行“删除”操作。

老尸 发表于 2015-1-19 09:15:05

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

因胸联盟 发表于 2015-1-25 15:43:20

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

海妖 发表于 2015-2-2 23:39:23

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.

飘飘悠悠 发表于 2015-2-8 19:37:44

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

小女巫 发表于 2015-2-25 23:43:48

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

活着的死人 发表于 2015-3-8 10:27:45

你可以简单地认为适合的就是好,不适合就是不好。

兰色精灵 发表于 2015-3-15 22:07:18

光写几个SQL实在叫无知。

不帅 发表于 2015-3-22 06:09:16

原来公司用过MYSQL自己也只是建个表写个SQL
页: [1]
查看完整版本: MSSQL网站制作之将SQL Server中一切表的列信息显现出来...