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. Linux_服务

    1.服务启动顺序 http://bbs.chinaunix.net/thread-1970916-1-1.html http://bbs.csdn.net/topics/240060477 2.Lin ...

  2. bootstrap学习笔记<十一>(导航条)

    基础导航条.样式:class="navbar navbar-default",属性:role="navigation" <div class=" ...

  3. python中模块sys与os的一些常用方法

    sys模块提供了访问或操作与python解释器相关方法与对象. 我们就列举出常用到的知识,以后,随着学习,不断补充. 几个常用到的动态对象: sys.argv,这是一个列表,它包含了所有传递给脚本的命 ...

  4. Android面试题整理【转载】

      面试宝典(5)  http://www.apkbus.com/android-115989-1-1.html 面试的几个回答技巧 http://blog.sina.com.cn/s/blog_ad ...

  5. 本地获取System权限CMD方法汇总(转)

    本地获取System权限CMD方法汇总(转) 稍微整理了下,大概有三种方法可以本地获取system权限的cmd,但前提都是当前用户具备administrator权限. 下面列举的三种方法各有千秋,看你 ...

  6. Hbase之取出行数据指定部分(类似MySQL的Limit)

    import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.CellScanner; import org. ...

  7. commonJS — 全局操作(for Window)

    for Window github: https://github.com/laixiangran/commonJS/blob/master/src/forWindow.js 代码 /** * Cre ...

  8. 使用fragmenttabhost后,子fragment怎么获取ID?怎么用getSharedPreferences

    使用fragmenttabhost后,子fragment怎么获取ID?怎么用getSharedPreferences public View onCreateView(LayoutInflater i ...

  9. 修改Mac]Bringing interface etch0:Device

    OS版本:Red Hat Enterprise Linux AS4/5 网上有很多关于linux下修改MAC地址的方法,大多依葫芦画瓢,似乎都没验证过,达不到修改的目的. 经过我的详细测试,最终成功解 ...

  10. java,UDP协议简单实现

    //UDP协议简单实现-----Serverpackage UDP; import java.net.DatagramPacket; import java.net.DatagramSocket; i ...