我的操作系统为Windows 2003 Server , 文件系统NTFS, 在SQL Server 2005 Express 上附加(Attach)从另外一台电脑Copy过来的数据库后,数据库为“只读”。如下图:


解决办法:
打开 SQL Server Configuration Manager, 打开SQL Server SQLEXPRESS 的属性,如下图:



在内置帐号处,把“网络服务”改成“本地系统”,重新启动SQL Server 2005 Express 后,再附加(Attach)数据库一切正常。

总结:之所以附加(Attach)上的数据库为“只读”,是因为启动SQL Server 的默认的启动帐号“网络服务”对所附加(Attach)的数据库文件的权限不够造成的。
posted @ 2008-06-10 23:11 no name is my name 阅读(266) 评论(0) 编辑
默认情况下,sql server2005安装完后,xp_cmdshell是禁用的(可能是安全考虑),如果要使用它,可按以下步骤

-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
--重新配置
RECONFIGURE
GO

--执行想要的xp_cmdshell语句
Exec xp_cmdshell 'query user'
GO

--用完后,要记得将xp_cmdshell禁用(出于安全考虑)
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 禁用xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 0
GO
--重新配置
RECONFIGURE
GO
posted @ 2008-06-10 23:06 no name is my name 阅读(2932) 评论(0) 编辑
--第一步:在SQL server中做映射网络盘
--
192.168.1.3为远程备份机
--
administrator为远程备份机登录用户名
--
111111为远程机器密码
--
backup为完全共享的文件夹
--
注意:(Z:后面要有一个空格)
exec master..xp_cmdshell 'net use z:  \\192.168.1.3\backup   111111   /user:192.168.1.3\administrator'


--第二步:进行数据库备份
--
DIFFERENTIAL为差量数据备份,在进行差量备份前要先做一次完全备份

backup database dbname to disk='z:\back.dat' --with DIFFERENTIAL 


--第三步:备份完成后删除映射
exec master..xp_cmdshell 'net use z: /delete'
posted @ 2008-06-10 22:55 no name is my name 阅读(310) 评论(0) 编辑

公告