用脚本文件生成sql server 2000数据库后如何修改数据库文件

用脚本文件生成sql server 2000数据库后如何修改数据库文件,第1张

2转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。 3对此两种数据库进行 *** 作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:delete from user where id=10,而对SQL SERVER数据库进行删除是用:delete user where id=10 4日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 5在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 所有的默认值都丢失了。主要是数字类型和日期类型所有now(),time(),date()要改成getdate()所有datediff('d',time1,time2)要改成datediff(day,time1,time2)所有datediff('ww',time1,time2)要改成datediff(week,time1,time2)所有datediff('d',time1,time2)要改成datediff(day,time1,time2)在mssqlserver中,有许多保留字,在access中是没有的,当你把数据导入到mssql的时候,问题就出来了。mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是mssql的保留字在用access关于时间的使用,大家喜欢使用“selectfromaaaawhiletime=&now()”这样的sql语句,然而,在mssql中没有“now()”这个函数,而是使用“getdate()”,所以,所有的sql语句中的“now()”必须换成“getdate()”。日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQLSERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。

1、查询SQL中的所有表: Select TABLE_NAME FROM 数据库名称INFORMATION_SCHEMATABLES Where TABLE_TYPE='BASE TABLE' 执行之后,就可以看到数据库中所有属于自己建的表的名称 2、查询SQL中所有表及列: Select dbosysobjectsname as Table_name, dbosyscolumnsname AS Column_name FROM dbosyscolumns INNER JOIN dbosysobjects ON dbosyscolumnsid = dbosysobjectsid Where (dbosysobjectsxtype = 'u') AND (NOT (dbosysobjectsname LIKE 'dtproperties')) 3、在Sql查询分析器,还有一个简单的查询方法: EXEC sp_MSforeachtable @command1="sp_spaceused ''" 执行完之后,就可以看到数据库中所有用户表的信息 4、查询总存储过程数:select count() 总存储过程数 from sysobjects where xtype='p' 附:xtype类型D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束L = 日志FN = 标量函数

IF = 内嵌表函数

P = 存储过程

PK = PRIMARY KEY 约束(类型是 K)

RF = 复制筛选存储过程S = 系统表TF = 表函数

TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)V = 视图X = 扩展存储过程 另:在sqlserver中取得某个数据库中所有表名的sql语句 select sysobjectsname from sysobjectsxtype ='U';SELECT name

WHERE (xtype = 'U') 在数据库的sysobjects表里有这个数据库全部表的信息, xtype值为'U'的就是表名 注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER 默认它也是用户表,想要从用户表中排出,需要加上限定条件 status>0,即:select from sysobjects where xtype='U' and status>0

首先要知道数据库排序规则的含义,如Chinese_PRC_CI_AS就可以不区分大小写了,下面为Chinese_PRC打头的规则:

_BIN

二进制排序

_CI_AI

不区分大小写、不区分重音、不区分假名类型、不区分全半角

_CI_AI_WS

不区分大小写、不区分重音、不区分假名类型、区分全半角

_CI_AI_KS

不区分大小写、不区分重音、区分假名类型、不区分全半角

_CI_AI_KS_WS

不区分大小写、不区分重音、区分假名类型、区分全半角

_CI_AS

不区分大小写、区分重音、不区分假名类型、不区分全半角

_CI_AS_WS

不区分大小写、区分重音、不区分假名类型、区分全半角

_CI_AS_KS

不区分大小写、区分重音、区分假名类型、不区分全半角

_CI_AS_KS_WS

不区分大小写、区分重音、区分假名类型、区分全半角

_CS_AI

区分大小写、不区分重音、不区分假名类型、不区分全半角

_CS_AI_WS

区分大小写、不区分重音、不区分假名类型、区分全半角

_CS_AI_KS

区分大小写、不区分重音、区分假名类型、不区分全半角

_CS_AI_KS_WS

区分大小写、不区分重音、区分假名类型、区分全半角

_CS_AS

区分大小写、区分重音、不区分假名类型、不区分全半角

_CS_AS_WS

区分大小写、区分重音、不区分假名类型、区分全半角

_CS_AS_KS

区分大小写、区分重音、区分假名类型、不区分全半角

_CS_AS_KS_WS

区分大小写、区分重音、区分假名类型、区分全半角

如需要对数据库重新进行规则设定,具体步骤如下:

1、找到sql2005 的安装包

2、执行下面的批处理,指定某种规则,如Chinese_PRC_CI_AS

内容如下:

cd D:\SQL Server 2005\SQL Server x86\Servers

start /wait setupexe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=sa SQLCOLLATION=Chinese_PRC_CI_AS

3、重新附加一下数据库就发现排序规则变更了。

以上就是关于用脚本文件生成sql server 2000数据库后如何修改数据库文件全部的内容,包括:用脚本文件生成sql server 2000数据库后如何修改数据库文件、怎样查看修改sqlserver数据库的编码格式、怎样修改sqlserver2005系统数据库排序规则等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9337476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存