CREATE PROCEDURE [dbo].[p_CreateDB]   @Des_DB sysname,  @ServerName sysname=N'',  @UserName sysname=N'',  @pwd sysname=N'', @fliename sysname   AS  SET NOCOUNT ON DECLARE @srvid int, @dbsid int, @Dbid int, @DBFile int,  @LogFile int, @CmdStr nvarchar(4000)  declare @err int,@src varchar(255), @desc varchar(255),@dname varchar(255)   IF ISNULL(@ServerName,N'')=N''  SET @ServerName=@@ServerName   EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT  IF @err<>0 GOTO lb_Err  IF ISNULL(@UserName,N'')=N''  BEGIN  EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1  IF @err<>0 GOTO lb_Err  EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName  END  ELSE  EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName,@UserName,@pwd  IF @err<>0 GOTO lb_Err  EXEC @err=sp_oacreate 'SQLDMO.Database',@Dbid OUT  IF @err<>0 GOTO lb_Err  EXEC @err=sp_oasetproperty @Dbid, 'Name',@Des_DB IF @err<>0 GOTO lb_Err EXEC @err=sp_oacreate 'SQLDMO.DBFile',@DBFile OUT IF @err<>0 GOTO lb_Err EXEC @err=sp_oasetproperty @DBFile, 'Name',@Des_DB IF @err<>0 GOTO lb_Err set @dname=@fliename+@Des_DB+'.mdf' EXEC @err=sp_oasetproperty @DBFile, 'PhysicalName',@dname IF @err<>0 GOTO lb_Err EXEC @err=sp_oasetproperty @DBFile, 'PrimaryFile','true' IF @err<>0 GOTO lb_Err  EXEC @err=sp_oasetproperty @DBFile, 'FileGrowthType',10 IF @err<>0 GOTO lb_Err EXEC @err=sp_oasetproperty @DBFile, 'FileGrowth',50 IF @err<>0 GOTO lb_Err EXEC @err = sp_OAMethod @Dbid,'FileGroups.Item("primary").DBFiles.Add',null,@DBFile IF @err<>0 GOTO lb_Err EXEC @err=sp_oacreate 'SQLDMO.LogFile',@LogFile OUT IF @err<>0 GOTO lb_Err set @dname=@Des_DB+'_log' EXEC @err=sp_oasetproperty @LogFile, 'Name',@dname IF @err<>0 GOTO lb_Err set @dname=@fliename+@dname+'.ldf' EXEC @err=sp_oasetproperty @LogFile, 'PhysicalName',@dname EXEC @err = sp_OAMethod @Dbid,'TransactionLog.LogFiles.Add',null,@LogFile IF @err<>0 GOTO lb_Err EXEC @err = sp_OAMethod @srvid,'Databases.Add',null,@dbid  IF @err<>0 GOTO lb_Err  EXEC @err= sp_OAGetProperty @srvid, 'Databases', @dbsid OUT IF @err<>0 GOTO lb_Err SET @CmdStr = 'Add' EXEC @err = sp_OAMethod @dbsid,@CmdStr,null,@dbid SET @err=0 GOTO lb_Exit  lb_Err:   EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT    EXEC sp_OADestroy @LogFile  EXEC sp_OADestroy @DBFile   EXEC sp_OADestroy @Dbsid    EXEC sp_OADestroy @Dbid     EXEC sp_OADestroy @srvid    EXEC @err=sp_oamethod @srvid,'DisConnect' RAISERROR(N'错误编号 %#x, 错误源"%s", 错误描述 "%s"',16,1,@err,@src,@desc)  RETURN -1 lb_Exit: EXEC sp_OADestroy @LogFile EXEC sp_OADestroy @DBFile  EXEC sp_OADestroy @Dbsid  EXEC sp_OADestroy @Dbid   EXEC sp_OADestroy @srvid   EXEC @err=sp_oamethod @srvid,'DisConnect' RETURN @err ;

SQL远程创建数据库的更多相关文章

  1. SQL Server2008创建数据库语法

    use mastergo if exists(select * from sys.databases where name='MySchool') drop database MySchool  -- ...

  2. SQL Server 创建数据库邮件

    一. 背景 数据库发邮件通知数据库的运行状态(状态可以通过JOB形式获取)和信息,达到预警的效果. 二. 基础知识 msdb系统数据库保存有关Job,Database Mail,Nodifyicati ...

  3. 跟我学Windows Azure 二 使用SQL Azure创建数据库服务器,创建数据库,创建表

    登陆Windows Azure门户 输入我们上一节课所注册的帐号及密码,点击登陆. 选择SQL 数据库,选择服务器 选择创建数据库服务器 设置访问数据库服务器的登陆帐号及密码 点击确定完成数据库服务器 ...

  4. 2-05使用SQL语句创建数据库2

    使用SQL语句创建多个数据文件和日志文件: USE master--指向当前使用的数据库 GO--批处理的标志 CREATE DATABASE E_Market--创建E_market数据库 ON P ...

  5. sql server2008中怎样用sql语句创建数据库和数据表

    这是简单用代码实现创建数据库和数据表的sql语句,如下: --调用系统数据库-- use master go /***防止你要创建的数据库同名,先把它删除掉****/ if Exists(select ...

  6. SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束

    创建数据库: CREATE DATABASE Test --要创建的数据库名称 ON PRIMARY ( --数据库文件的具体描述 NAME='Test_data', --主数据文件的逻辑名称 FIL ...

  7. SQL Server 创建数据库快照

    创建数据库快照: 必须在create database 命令中包括源数据库的每一个数据文件,原始逻辑名,新物理名与路径, 不能指定其他属性 create database db_snapshot_na ...

  8. MySQL数据库执行sql语句创建数据库和表提示The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working

    MySQL创建数据库 只想sql文件创建表时候提示 The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to ha ...

  9. [转]SQL Server 创建数据库邮件

    本文转自:http://www.cnblogs.com/gaizai/p/3358958.html 一. 背景 数据库发邮件通知数据库的运行状态(状态可以通过JOB形式获取)和信息,达到预警的效果. ...

随机推荐

  1. iOS - OC NSValue 值

    前言 @interface NSValue : NSObject <NSCopying, NSSecureCoding> 将任意数据类型包装成 OC 对象 1.比较两个 NSValue 类 ...

  2. JAX-WS:背后的技术JAXB及传递Map

    转载:http://www.programgo.com/article/98912703200/ 1.什么是JAX-WS JAX-WS (JavaTM API for XML-Based Web Se ...

  3. UML建模

    1.包含<<include>> 包含是指当多个用例中存在相同的事件流时,可以把这些公共事件流抽象成公共用例,这个公共用例称之为抽象用例(跟类的概念有点相像,类是多个对象的抽象定 ...

  4. java SE (java Standard Edition)

    14.10.22 学习java SE的Object: -------------------------------------15.11.18----

  5. web发展总结

  6. 构建maven项目3

    1.1.创建Jave Project 1.使用mvn archetype:generate命令,如下所示: mvn archetype:generate -DgroupId=com.mycompany ...

  7. (十)Linux内核中的常用宏container_of

    Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址. Containe ...

  8. MFC编程入门之前言

    本系列主要偏重于理论方面的知识,目的是打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑.本系列也会涉及到VC++的原理性的东西,同样更重视实用性,学完本系列以后,基本的界面程序都能很容 ...

  9. Java开发中的一些小技巧

    原文:http://www.cnblogs.com/xdp-gacl/p/3490276.html 一. Java获取URL地址中传递的参数 /** * 获取URL中的参数名和参数值的Map集合 * ...

  10. 自我总结(六)---(学习j2ee+j2ee第一阶段项目)

    自我完善的过程就是在不断的自我总结不断的改进. 学习了Struts2 Spring Hibernate. 十天前结束了这个课程.也考试了.这次考试老师说机试考的还不错.其实就是一个简单的用户登录,进行 ...