SQL Server数据库重命名、数据导出等若干问题

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,独享型 2核4GB
简介: 第一个问题是重命名数据库问题:在企业管理器中是无法直接对数据库重命名的,只能在查询分析器中操作   create proc killspid (@dbname varchar(20))         as         begin         declare     @sql     n...

第一个问题是重命名数据库问题:在企业管理器中是无法直接对数据库重命名的,只能在查询分析器中操作

   create   proc  killspid ( @dbname   varchar ( 20 ))       
  
as        
  
begin        
  
declare       @sql       nvarchar ( 500 ), @temp     varchar ( 1000 )   
  
declare       @spid       int        
  
set       @sql = ' declare     getspid     cursor     for           
  select     spid     from     sysprocesses     where     dbid=db_id(
''' + @dbname + ''' ) '        
  
exec      ( @sql )       
  
open      getspid       
  
fetch       next       from      getspid      into       @spid        
  
while       @@fetch_status     = 0    
  
begin        
      
set     @temp = ' kill ' + rtrim ( @spid )   
      
exec ( @temp )   
  
fetch   next   from  getspid  into   @spid        
  
end        
  
close      getspid       
  
deallocate      getspid       
  
end  
  
--  上面创建一个从存储过程    
   --  exec killspid 'Test1' -- 调用存储过程关闭连接 
   --  exec sp_renamedb 'Test1','Test2' -- 重命名数据库

 

用以上方法可以重命名数据库,当然还有一种方法是在企业管理器中选择数据库->所有任务->分离数据库->清除连接,然后直接直接调用 

exec  sp_renamedb  ' Test1 ' , ' Test2 '  

 

第二个问题是更改数据库所有者问题:在查询分析器中选择要更改的数据库,执行如下代码即可newowner为新的所有者

exec  sp_MSForEachTable  ' sp_changeobjectowner  '' ? '' '' newowner '''

 

第三个问题是数据表数据的导入导出的问题:人们在导入导出数据的时候常会导致数据库对象的丢失,例如主键、标识、默认值等,解决的方法是在制定表复制或查询那一步选择第三项

在SQL Server数据库之间复制对象和数据

选择下一步,如果你只是要操作一部分表而不是整个数据库的话,取消复制所有对象这个选项,点击后面的选择打开选择对象对话框,在其中选择要操作的数据库对象即可,点击下一步,操作完成。

 

第四个问题是替换字段内容的问题:如果你的数据库被人注入病毒代码了,又没有备份,那就只有自己动手替换掉了

update  dunktopic  set  字段  = replace (字段, ' 被替换的内容 ' , ' 替换内容 ' ); 

 

第五个问题是数据库中表的所有者问题:在某些情况下,如果你恢复网站数据库后,访问网站的时候出现80040e21错误,

错误 '80040e21' ODBC 驱动程序不支持所需的属性

那么有可能是因为数据库所有者问题导致的,解决办法是使用问题一中的方法更改数据库的所有者为dbo或者其它的用户即可。

第六个问题是数据还原问题,数据库还原之后,访问网站会莫名其妙的出现内部服务器500错误,其实是因为因为没有给数据库用户分配该数据库权限的问题,特征就是该数据库用户的登录没有了。解决办法是:删除没有登录名的这个用户,在企业管理器的安全性设置中,选择刚才那个没有登录名的用户,给它分配刚才还原的数据的datawrite和dataread权限。为安全起见,建议不要分配owner权限。

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
3天前
|
SQL Oracle 关系型数据库
|
2天前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
18 3
|
7天前
|
SQL 监控 安全
数据库安全:SQL注入防御实践
【7月更文挑战第11天】SQL注入攻击作为一种常见的网络攻击手段,对数据库的安全性和业务稳定构成了严重威胁。为了有效防御SQL注入攻击,开发者和数据库管理员应采取一系列实践措施,包括输入验证与过滤、使用参数化查询、限制数据库用户权限、使用Web应用程序防火墙、定期更新和打补丁、实施实时监控和审计以及使用HTTPS协议等。通过这些措施的实施,可以显著提升数据库的安全性,降低遭受SQL注入攻击的风险。同时,开发者和数据库管理员应持续关注新的安全威胁和防御技术,不断提升自身的安全防护能力。
|
8天前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
17小时前
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之数据集成时源头提供数据库自定义函数调用返回数据,数据源端是否可以写自定义SQL实现?
摘要:DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7天前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
16 0
|
7天前
|
SQL 监控 Java
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
15 0
|
1月前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
1月前
|
SQL 存储 安全
sql server 数据库实例
SQL Server 数据库实例是指在 SQL Server 中创建的一个独立的数据库环境。每个数据库实例都拥有自己的一套完整的数据库文件、配置设置、用户和权限等,可以独立地进行管理和操作。以下是关于