首先分为SQL Server 认证与Windows 身份认证. SQL Server 认证可以运行以下语句来查询 select * from sys.sql_logins 管理员可以直接修改密码,但无法知晓原有密码原文,SQL Server使用混淆算法来保护安全性不如Windows 身份认证, Windows认证模式 首先分为本机账号与域账号 SQL Server 将认证和授权分散给了不同的对象来完成,SQL Server 的“登入名”(Login)用于认证,连接SQL Server 的SQL或…
简单的说就是可以让包含用户访问其他数据库,那么来看看如何配置,并且验证一下:   USE test CREATE USER up1 WITH PASSWORD = 'zhuzhu' SELECT * FROM sys . database_principals WHERE name = 'up' CREATE DATABASE test1 ALTER ROLE db_owner ADD MEMBER up   USE test1 GO ALTER DATABASE test1 SET CONTA…
在项目中,经常需要备份数据库,如果能做到只需点个按钮(“开始备份数据库”按钮),然后什么都不管,数据库就自动备份好了,或者服务器上的数据库隔一段时间自动备份一次,那该多好啊. Sql server 的作业正好可以满足这一需求! Sql server的作业可以按照规定的时间执行指定的sql脚本,下面我以用作业备份Northwind数据为例,介绍如何用sql server 2008 r2创建作业备份数据库. 第一步:创建SQL Server作业 第二步:设置作业执行步骤 备份数据库的sql脚本如下:…
对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'.数据库 'my1' 正在使用该文件”的问题. 产生原因:对一个数据库备份文件在两个数据库中进行还原时,这个问题的出现主要是因为还原第一个数据库和第二个数据库的名称是一样的,而且在第二个数据库还原时的物理路径时选的路径和第一个数据库还原路径一样. 解决方案:…
解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,错误描述信息摘录如下: An error has occurred while establishing a connection to the server. (provider: Named Pipes Provider, error: 40 – Could not open a con…
有时候SQL Server意外断电会导致SQL Server的ldf日志文件丢失或者损坏,这个时候你如果直接附加mdf文件到SQL Server会失败,这里提供一个方法可以还原只有mdf的数据库文件,这里我们假设你要还原的数据库文件是YourDB.mdf 首先在SQL Server中创建一个同名的数据库,叫[YourDB]. 然后停止SQL Server的数据库引擎服务,拷贝原先的YourDB.mdf到你刚才新建的[YourDB]数据库的文件目录并覆盖之. 启动SQL Server的数据库引擎服…
add by zhj: 本文最后那个数据库别名没搞明白,在我的测试中没有建别名,是可以的.远程登陆时,服务器名称: 服务器IP,端口号 (如223.42.155.248,52134 如果是默认端口号1433,则可省略端口号) 原文:http://www.cnblogs.com/jaxu/archive/2010/11/23/1884411.html 许多初学者在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,大致的错误描…
SQL Server 2005高可用性模式下创建数据库镜像   高可用性模式下创建数据库镜像 第一步: --创建镜像用数据库-在主服务器上操作 create database db_mirror on ( name = db_mirror_data, filename = N'c:\db_mirror.mdf' ) log on ( name = db_mirror_log, filename = N'c:\db_mirror.ldf' ) go alter database db_mirror…
原文:SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:游标 + 系统存储过程sp_MSForEachDB 方法二:封装sp_MSforeachtable + sys.databases 方法三:系统存储过程sp_MSForEachDB + sp_MSforeacht…
原文:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:运用游标 方法二:运用系统存储过程 方法三:拼接SQL 参考文献(References) 二.背景(Contexts) 在性能调优或者需要了解某数据库表信息的时候,最直观的方式就是罗列出这个数据所有表的信息,这些信息…
原文:监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1) 如果你要同步不同数据库之间的数据,首先会想到的是数据库复制技术,但如果让你同步数据库的结构,你会想到什么呢? 下面是一个例子,用来说明通过sql server中的DDL触发器,来记录create table.alter table.drop table等ddl操作. --2.1在master数据库中建立服务器级别跟踪表 use master go create table server_eventdata (e…
原文:SQL Server判断某个字段是否包含中文/英文字符/数字 因最近在清理系统中的脏数据,需要查询某个字段是否包含中文/英文字符/数字的数据, 比较简单,仅以此篇博客做一个简单总结,方便以后查阅. 1.判断某个字段是否包含中文字符 SELECT * FROM dbo.Channel_ShopCommodity AND StoreCode LIKE '%[吖-座]%'; 2.判断某个字段是否包含英文字符 SELECT * FROM dbo.Channel_ShopCommodity AND…
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在以前的文章里我们看到,SQL Server代理由一系列的作业步骤组成,每个作业步骤是要进行的不同工作类型.SQL Server代理也提供创建警报的功能,它可以发消息给指定的操作员作为提醒.这些提醒很可能通过数据库邮件发送,SQL Server和SQL Server代理内建的功能来发送和接收邮件.在这篇文章里,你会学到如何配置数据库邮件来进…
1.数据库 use master; exec sp_helpdb 1.1查询数据库大小 1.2查询数据库状态 use msdb select name, user_access_desc, --用户访问模式 state_desc, --数据库状态 recovery_model_desc, --恢复模式 page_verify_option_desc, --页检测选项 log_reuse_wait_desc --日志重用等待 from sys.databases 查询数据库状态 name user…
软件做大了,客户就多了,一个数据库服务器是远远不够的,当有一台数据服务器卦掉,那整个系统就会崩溃,所以必须考虑到数据库的自动同步与备份,当一台数据库服务 器宕机,自然就有用一台数据服务器启动起来保证整个软件系统的可用性.备份数据库与总数据库之间既统一又独立.这就是业务,技术服务于业务,那么摆在我们面前的问题是 如何让数据既统一又独立?其实SQLServer已经为我们提供了很好的解决方案:发布.订阅. 打开SQL Server2012的对象资源管理器我们可以看到里面有一个"复制"节点.(…
1,备份master数据库 2,停止服务,直接删除master数据文件 3,用安装程序重建master数据文件 控制台下进入安装目录就不说了 D:\SetUp\sqlserver2012>Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=sqlserver2012 /SQLSYSADMINACCOUNTS=UserName /SAPWD= *** 4,单用户模式启动SQL Server 服务,利用备份文件还原 单用户模式启动 :net star…
删除本地快发布时报错: 无法作为数据库主体执行,因为主体 "dbo" 不存在.无法模拟这种类型的主体,或您没有所需的权限.已将数据库上下文更改为 'numberForcast'. (Microsoft SQL Server,错误: 15517)   方法:执行一下命令 USE 数据库命 EXEC sp_changedbowner ‘sa’; 然后再执行删除发布就OK了     在生成本地发布过程中 发布.订阅过程都正确,无报错,但生成的本地订阅却是空的. 解决,先生成快照发布,生成订阅…
附加数据库,附加的时候会提醒找不到log文件 针对以上现象有两个写法的语句能解决: 写法一: USE MASTER; EXEC sp_detach_db @dbname = 'TestDB'; EXEC sp_attach_single_file_db @dbname = 'TestDB',      @physname =  'D:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\DATA\TestDB.mdf'   写法…
http://www.cnblogs.com/huangtailang/p/4221164.html 背景:个人电脑中使用的是VS2012,数据库为2008R2,最近需要打开一个SqlServer2012的数据库   如果在本机安装一个2012的数据库可能比较浪费时间,本来是想在如万网等服务商那边购买一个2012的数据库来使用的,但发现目前的服务商最高提供的数据库为2008R2 既然不想安装新的数据库版本那就只能在现在的环境中想办法了,还好在VS2012中提供了一个本地的数据库引擎于是尝试通过2…
1.数数据库备份脚本: 数据库备份:DECLARE @BcpFile VARCHAR(30),@SQLBACKUP VARCHAR(1000),@BcpFullFile VARCHAR(100) SELECT @BcpFile=CONVERT(CHAR(8),GETDATE(),112) SET @BcpFullFile = 'E:\BACKUP\AlarmMonitor_'+@BcpFile+'.bak'  --这里是要备份的路径复制的时候记得删掉SET @SQLBACKUP ='BACKUP…
1.新建一个同名数据库. 2.停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间.) 3.启动数据库服务,数据库变为置疑或可疑状态.然后在查询分析器中运行: alter database 无日志文件的数据库名称 set emergency 设置为紧急状态. 4.再运行: alter database 无日志文件的数据库名称 set single_user 或者: Sp_dboption '无…
由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间.由于主要是做OLAP,所以数据库本身不会有大变动,所以日志也就没有多少作用了,因此想办法把数据库日志文件收缩到很小或者删除. 网上搜索相关解决方案后,得到的答案丰富多彩,但是真正管用的方案并不多,这里分享一个csdn上找到的方法.这个方法讲述了SQL Server 2005和SQL Server 2008在收缩数据库日志的不同之处,颇有帮助.同时,该方法的效率…
前言:使用Microsoft SQL Server Migration Assistant for Oracle迁移Oracle数据库到SqlServer数据库. 准备:Oracle11g.SqlServer2012.Microsoft SQL Server Migration Assistant for Oracle 开始: 1.打开软件>File>New Project新建项目,新建完成后点击OK. 2.连接到Oracle数据库. 3.输入Oracle链接信息. 4.连接成功后会显示Ora…
一:步骤 1.sql server建立数据库和相关表 2.建立数据源  (1).打开控制面板找到管理,打开ODBC选项或直接搜索数据源  (2).打开数据源配置后点击添加,选择sql server点击完成  (3).给数据源命名,服务器选择本机电脑sql server 服务器名下一步 后面全部点下一步或确定就可以了. 3.代码设计   1.加载数据库驱动    2.与数据源建立连接   3.与数据库建立会话   4.操作数据库 经常使用的一些JDBC URL JDBC-ODBC:jdbc:odb…
ADO.NET 在发送SQL语句到SQL Server数据库后,怎么知道真正INSERT,UPDATE,DELETE了多少行数据呢? 使用SQL Server内置的全局变量@@ROWCOUNT即可,@@ROWCOUNT可以返回在当前数据库连接(SqlConnection)中,执行的上一条SQL语句影响了多少行数据,使用示例如下所示: INSERT INTO [dbo].[Person]([PersonCode],[Name],[Age],[City]) VALUES (N,N'Beijing')…
今天发现一个问题,就是公司开发服务器上的sql server使用sa账号登录后,还原一个数据库bak文件老是报错,错误如下: TITLE: Microsoft SQL Server Management Studio ------------------------------ Restore of database 'Customer' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks) ----------------…
在"ASP.NET MVC与Sql Server交互, 插入数据"中,在Controller中拼接sql语句.比如: _db.InsertData("insert into Product(Name,quantity,Price) values('"+productVm.Name+"','"+productVm.Quantity+"','"+productVm.Price+"')"); 在某些场景中需要把数…
1,在目标数据库新增服务器对象->连接到服务器->新建服务器连接 2,编写数据同步业务PROC ALTER PROC TestProc AS BEGIN --打开完全事物回滚 SET XACT_ABORT ON; SET NOCOUNT ON; --开始异常拦截 BEGIN TRY --开始事物 BEGIN TRANSACTION; PRINT '开始同步数据'; MERGE INTO dbo.TestTable AS T USING ( SELECT ROW_NUMBER() OVER (O…
连接数据库报错:“数据库异常:[DBNETLIB] [ConnectionOpen(Connenct()).] Sqlserver 不存在或拒绝访问” 原因: 1.查看是不是没有在数据库中添加数据库服务器地址. 2. 查看端口是否打开,MSSQL默认是TCP:1433. 3.SQL服务项中服务是否开启或启动. 4. 防火墙是否将TCP:1433端口,添加例外. 5.是否开启了VIA服务. 6.最好关闭数据库计算机的防火墙. 解决方法: 1. 查看端口方法有很多,DOS.360网络查看,这里介绍D…
1.首先把原数据库备份,检查原数据库的日志文件是否太大,如果过于大应该先收缩数据库日志 2.把备份的数据库文件在目标SQL Server还原,点击数据库,选择“还原文件或文件组” 3.如果需要修改还原目标数据的文件位置,先点生成脚本. 4.在脚本中修改要还原目标数据库的存放位置 5.Example restore database DataBaseName1from disk = '\\complutename1\Backup\DataBaseName1.bkp'WITH MOVE N'mscr…