一台SQL serverz主机本地磁盘空间不够,需要将备份备至网络主机上,
在操作系统中执行 net   use   w:   \\192.168.1.10\D$  "Password"  /user:test\administrator 映射成功,
但是在添加维护计划时仍然看不到网络映射盘w:   
后使用测试环境查得在SQL Server Management studio中执行
exec   master..xp_cmdshell
'net   use   w:   \\192.168.1.10\D$  "Password"  /user:test\administratortor'
即可解决  问题来了,正式环境的cmdshell是关闭状态,无法执行上述语句,我按照网上的方法也无法启用:  
USE master 
EXEC sp_configure 'show advanced options', 1 
RECONFIGURE WITH OVERRIDE 
EXEC sp_configure 'xp_cmdshell', 1 
RECONFIGURE WITH OVERRIDE 
EXEC sp_configure   'show advanced options', 0
RECONFIGURE WITH OVERRIDE 错误如下(繁体版本的):
組態選項 'show advanced options' 從 1 變更為 1。請執行 RECONFIGURE 陳述式來安裝。
訊息 5845,層級 16,狀態 1,行 3
處理序的存取 Token 中,目前沒有 Address Windowing Extensions (AWE) 需要的 'lock pages in memory' 權限。请问这个是什么情况?应该怎么解决?
另外如果我想使用自动排程,如何使用变量定义备份文件避免文件覆盖(最好使用日期)?
use ametest
go
backup database  emp to disk='c:\backup\emp.bak' with init

解决方案 »

  1.   

    你操作那个目录的权限是否够?或者该目录是否是共享出来了可供任何人使用?
    如果都设置好了,则参考如下:
    --SQL如何备份到异机写成存储过程,建立作业定时备份~~~
    --在sql中映射一下就可以了
    exec master..xp_cmdshell 'net use z: \\yizhi\D$ "密码" /user:yizhi\administrator'/*--说明:
    exec master..xp_cmdshell 'net use z: \\xz\c$ "密码" /user:xz\administrator'z:是映射网络路径对应本机的盘符,与下面的备份对应
    \\xz\c$是要映射的网络路径xz\administrator
    xz是远程的计算机名,
    administrator是登陆的用户名
    密码 面指定的administrator用户的密码
    --*/--备份;with init覆盖|noinit添加
    backup database 库名 to disk='E:\H_BACKUP.bak' with init--COPY
    exec master..xp_cmdshell 'copy E:\H_BACKUP.bak z:'--删除(这句可以去掉)
    --exec master..xp_cmdshell 'del E:\H_BACKUP.bak'--完成后删除映射
    exec master..xp_cmdshell 'net use z: /delete'
      

  2.   

    處理序的存取 Token 中,目前沒有 Address Windowing Extensions (AWE) 需要的 'lock pages in memory' 權限提示已经比较明显了 需要有权限 可以用 SA账户登录不 ?
      

  3.   

    --执行--gpedit.msc--电脑设定--安全性设定--使用者权限指派--锁定记忆体分页--添加账户--重启服务
      

  4.   

    你可以试试用SA登录后,在外围应用管理器中打开xp__cmdshell,如果能打开,用语句也应该能打开.
      

  5.   

    嗯  谢谢了
     还有请问如果使用backup database 备份时怎样为目标名应用上日期变量呢?? 
    就像今天的备份名为emp_20110927.bak   明天为emp_20110928.bak这样(不通过维护计划而使用自动执行脚本)