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. Python学习(4)运算符

    目录 Python 算术运算符 Python 比较运算符 Python 赋值运算符 Python 位运算符 Python 逻辑运算符 Python 成员运算符 Python 身份运算符 Python  ...

  2. mysql 特殊字符

    1.倒引号,比如表中有一个字段为desc,在mysql中desc是关键字,如何表明desc是字段呢? 有两种办法:desc使用倒引号引起来,或者在desc前面加上表名,如下:mysql> sel ...

  3. 实现jQuery扩展总结

    开发自己需要的jQuery插件,看个示例说明<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"&qu ...

  4. 1 HTML

    1 HTML 基础知识 软件的结构:    C/S(Client  Server)结构的软件: 比如: QQ. 极品飞车. 飞信 . 迅雷      cs结构的软件的缺点:更新的时候需要用户下载更新包 ...

  5. 移动端 meta

    摘自http://www.cnblogs.com/shxydx/articles/2856882.html   控制显示区域各种属性: <meta content="width=dev ...

  6. JS获取用户控件中的子控件Id

    用户控件 <asp:HiddenField ID="hfGradeId" runat="server" /> <asp:HiddenField ...

  7. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小

    原文:http://www.jb51.net/article/75002.htm 这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实 ...

  8. OpenGL的几何变换2之内观察立方体

    我想实现的一个场景是:一个立方体,相机的坐标在立方体的中心点,相机不变,立方体旋转,可以站在立方体中心点查看立方体内部. 实际上就是立方体图像,这是在全景图片当作比较简单的方式,画面不会变形和扭曲,但 ...

  9. c++程序编码

    c++程序中涉及到中文字符的输入输出以及其他操作经常会出现乱码.乱码主要是由于程序的源文件编码.可执行文件编码以及程序运行环境的编码不匹配导致.比如,c++源程序文件编码为GB18030, 在源程序中 ...

  10. 基于SpringBoot项目的https

    在spring中配置项目运行的端口很简单. 在application.properties中 server.port: 这样配置后,spring boot内嵌的tomcat服务器就是跑在8080端口启 ...