用SQL2005的脚本文件建立SQL2000的数据库

来源:百度知道 编辑:UC知道 时间:2024/07/11 22:53:20
我从别的机子弄下了一个SQL2005的脚本文件,保存为SQL2000的脚本,现在想在我的机子上用这个脚本来建立数据库,我的机子装的是SQL2000的,我在查询分析器里导入脚本,运行,IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'administrator')用户名administrator名不存在,后来我又把administrator改成了我本地机查询分析器的登陆名字SZ19,但还是提示SZ19不存在,我机子数据库登陆用的就是SZ19,到底是什么回事啊,如何用这个脚本在我的机子上建立数据库啊?
我又仔细看了一下,我的查询是windows验证 的,那样 的话我应该怎么从脚本建立数据库呢
脚本:
IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'gxnndytyjt')
EXEC dbo.sp_grantdbaccess @loginame = N'gxnndytyjt', @name_in_db = N'gxnndytyjt'
GO
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[当前日期]') AND OBJECTPROPERTY(id, N'IsDefault') = 1)
EXEC dbo.sp_executesql N'CREATE DEFAULT [dbo].[当前日期] AS getdate()

'
GO
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FVersion]') AND OBJECTPROPERTY(id, N'IsDefault') = 1)
EXEC dbo.sp_executesql N'CREATE DEFAULT [dbo].[FVers

有以下几点需要注意一下:
1.你的用户名administrator中的a是大写还小写,用户验证应该区分大小写的。
2.你所查询的用户名必须是用sql server验证的,而不是windows验证的.
3.这一点最重要。你的所查询用户名,是不是有权限访问你所创建的数据库。如果没有权限,就是有这个用户还是一样查询不出来。

IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'administrator')
这句下面那句呢?这句的意思是 判断 用户表中 administrator存不存在
(不存在 做什么 存在做什么)你只有前半句啊

EXEC dbo.sp_grantdbaccess @loginame = N'gxnndytyjt', @name_in_db = N'gxnndytyjt' 运行存储过程 你看看那个存储过程 是怎么写的了要

1.你的用户名administrator中的a是大写还小写,用户验证应该区分大小写的。
2.你所查询的用户名必须是用sql server验证的,而不是windows验证的.
3.这一点最重要。你的所查询用户名,是不是有权限访问你所创建的数据库。如果没有权限,就是有这个用户还是一样查询不出来。