一个命令,生成数据库对象的脚本

来源:互联网 发布:docker nginx nodejs 编辑:程序博客网 时间:2024/04/24 04:29
原问题见:http://community.csdn.net/Expert/topic/5694/5694765.xml?temp=.1940424
作者的问题
写成一个存储过程.给一个参数就是数据库名.然后生成这个库的所有对像的脚本.
 
declare   @cMd   varchar(1000)  
  set   @cmd   =   'master.dbo.xp_cmdshell   '   +    
  '''c:/"Microsoft   '   +  
  'SQL   Server"'   +  
  '/MSSQL/Upgrade/scptxfr.exe   '   +  
  '   /s   YourServerName   /p   YourSAPassword   /I   /d   YourDBName   /f   '   +  
  'c:/YourDBName.sql'''  
  exec   (@cmd)  
   
  命令行语法:  
  SCPTXFR   /s   <服务器>   /d   <数据库>   {[/I]   |   [/P   <密码>]}  
  {[/F   <脚本文件目录>]   |   [/f   <单个脚本文件>]}  
  /q   /r   /O   /T   /A   /E   /C   <CodePage>   /N   /X   /H   /G   /Y   /?  
   
  /s   —   指示要连接到的源服务器。  
  /d   —   指示要为之编写脚本的源数据库。  
  /I   —   使用集成安全性。  
  /P   —   sa   要用的密码。请注意登录   ID   始终为   sa。  
  若/P不使用或标志后面没有密码,  
  则将使用空密码。不与   /I   兼容。  
  /F   —   脚本文件应生成到的目录。  
  这意味着为每个对象分类生成一个文件。  
  /f   —   所有脚本将保存到的单个文件。  
  不与   /F   兼容。  
  /q   —   在所生成的脚本中使用被引用的标识符。  
  /r   —   为脚本中的对象包括   drop   语句。  
  /O   —   生成   OEM   脚本文件。无法用于   /A   或   /T。  
  这是默认的行为。  
  /T   —   生成   UNICODE   脚本文件。无法用于   /A   或   /O。  
  /A   —   生成   ANSI   脚本文件。无法用于   /T   或   /O。  
  /?   —   命令行帮助。  
  /E   —   发生错误时停止脚本编写。  
  默认行为是记录该错误而后继续。  
  /C   —   指示替代服务器   CodePage(代码页)的   CodePage。  
  /N   —   生成   ANSI   PADDING。  
  /X   —   编写   SP   和   XP   脚本以分隔文件。  
  /H   —   生成不带首部的脚本文件。(默认:   带首部)。  
  /G   —   使用指定的服务器名称作为所生成的输出文件的前缀(  
  中的划线)。  
  /Y   —   为“扩展属性”生成脚本(仅对   8.x   服务器有效)。    
 
原创粉丝点击