• 数据库开发批量附加数据库


    1. --目前只适合SQL2005,SQL2000的不行
    2. --批量附加数据库备份例子:   
    3. --exec attach_db_pro 'c:\program files\microsoft sql server\data'   
    4.   
    5. if object_id('attach_db_pro'is not null  
    6. drop procedure attach_db_pro   
    7. go   
    8.   
    9.   
    10. create procedure attach_db_pro   
    11. @dir nvarchar(520)   
    12. as  
    13. declare @dbname varchar(20)   
    14. declare @filename nvarchar(520)   
    15. declare @name sysname   
    16. declare @temp_db_name varchar(20)   
    17. declare @i int  
    18. declare my_cursor cursor  
    19. for    
    20.     select  db_name(dbid) dbname,name,filename from master..sysaltfiles   
    21.     open my_cursor   
    22.     fetch next from my_cursor into @dbname,@name,@filename   
    23.     while  @@fetch_status = 0   
    24.     begin  
    25.           set @temp_db_name = @dbname   
    26.           set @i = 1   
    27.           print 'exec sp_attach_db @db_name = ' + @dbname + ',@filename' + convert(varchar,@i) + ' = ''' + @dir + '\' + @name + right(@filename,4)+''''   
    28.           fetch next from my_cursor into @dbname,@name,@filename   
    29.           while @@fetch_status = 0 and @temp_db_name = @dbname   
    30.           begin  
    31.                   set @i = @i + 1   
    32.                   print ',@filename' + convert(varchar,@i) + ' = ''' + @dir + '\'+@name+right(@filename,4)+''''   
    33.                   fetch next from my_cursor into @dbname,@name,@filename   
    34.           end  
    35.           print ''  
    36.     end  
    37. close my_cursor   
    38. deallocate my_cursor   
    39. go  

    或者使用以下的办法来生成附加数据库的角本.
     private static  void att_database()
            {
                string tmp = "";
                FileInfo info = null;
                string[] s = Directory.GetFiles(@"D:\03backup\JujuyaDataBase\WebsiteDatabase","*.mdf");
                foreach (string str in s)
                {
                    info = new FileInfo(str);
                    Logs.Log.WriteLog("EXEC sp_attach_db @dbname = N'" + info.Name.Replace(".mdf","") + "'"+
                        " ,@filename1 = N\'D:\\03backup\\JujuyaDataBase\\WebsiteDatabase\\" + info.Name +"'"+
                        " ,@filename2 = N\'D:\\03backup\\JujuyaDataBase\\WebsiteDatabase\\" + info.Name.Replace(".mdf", "_log.LDF") + "'"
                        );               
                }      
            }

  • 相关阅读:
    js 中基本数据类型和引用数据类型 ,,,, js中对象和函数的关系
    something
    js 的constructor属性
    js 的prototype 属性和用法,外加__proto__
    js 获取一下url里面的一些内容
    js 终于明白变量提升的概念了
    动态设置小程序的 标题
    Vue axios调用第三方接口跨域解决
    css translate的一些问题 这其实可以用在,不知道div宽高的情况,从而让其上下,左右都居中。
    用css3写一个可以无限旋转的div或者图片
  • 原文地址:https://www.cnblogs.com/Leung/p/1541772.html
Copyright © 2020-2023  润新知