sql server 跨数据库插入数据】的更多相关文章

创建服务器的连接,创建好后可以存在服务器上,可以在不同位置重复使用,和系统函数类似 exec sp_addlinkedserver 'RemoteServer', '', 'SQLOLEDB ', '192.168.3.225' exec sp_addlinkedsrvlogin 'RemoteServer', 'false ',null, 'sa', 'hello@123' 删除连接 exec sp_dropserver 'RemoteServer', 'droplogins' 使用方法:(连…
1.INSERT INTO SELECT语句 语句形式为: Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value] []为可选内容 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量. 示例如下: insert into tjjrmx(yybh,xh,tjxmbh,jg,sfyx,zhxmb…
实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份.让我帮他解决一下,不然他要赔偿客户很多钱. SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份.…
原文:SQL Server 2008 数据库误删除数据的恢复 原文:http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是“完整(Full)”. 针对这两个前提条件,会有…
A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' AS B , N'C' AS C ; END 同一台服务器实例,A,B两个数据库, 在B库的存储过程中,调用A库的存储过程 B库: ALTER PROCEDURE [dbo].[spAAAForTest2] ( ) =null , ) =null ) AS BEGIN ); set @sql =…
前几天在SQL Server 2008同步产品数据时,总是提示二进制文本被截断的错误,但是经过检查发现数据都符合格式要求. 百思不得其解,单独插入一条条数据则可以插入,但是批量导入则报错. 批量导入代码示例如下: SELECT * into #product from 一系列的表关联 where 若干条件 ... insert into t_product select * from #product 最后无奈之下改为用游标循环插入: ---使用游标测试插入过程  DECLARE Prod_Cu…
QT通过ODBC连接数据库SQL Server 2008,进行数据插入时遇到的问题: 先把数据存入变量中,如何使用变量进行插入?插入语句该怎么写? QSqlQuery query(db); query.exec("insert into device values('"+datetime+"','"+splantNum+"','"+sdeviceNum+"','"+stemper+"','"+spress+…
最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的.存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中.逻辑是如果不存在则插入,存在则更新字段. create PROCEDURE [dbo]…
1,用Opendatasource系统函数 详细的用法已经注释在sql代码中了.这个是在sqlserver到sqlserver之间的倒数据.2005,2008,2012应该都是适用的. --从远程服务器192.168.66.154上查询100条数据,然后导入到dbo.dquestiondata中 insert into dbo.dquestiondata select top 100 * from opendatasource('sqloledb','data source=192.168.6.…
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters),高效插入数据. 新建数据库: --Create DataBase create database BulkTestDB; go use BulkTestDB; go --Create Table Create tab…
1,用Opendatasource系统函数 详细的用法已经注释在sql代码中了.这个是在sqlserver到sqlserver之间的倒数据.2005,2008,2012应该都是适用的. --从远程服务器192.168.66.154上查询100条数据,然后导入到dbo.dquestiondata中 insert into dbo.dquestiondata * from opendatasource('sqloledb','data source=192.168.6.154;user id=sa;…
语句 SELECT * FROM 数据库A.dbo.表A a, 数据库B.dbo.表B b WHERE a.field=b.field "DBO"可以省略 如 SELECT * FROM 数据库A..表A a, 数据库B..表B b WHERE a.field=b.field SqlServer数据库: --这句是映射一个远程数据库 EXEC sp_addlinkedserver '远程数据库的IP或主机名',N'SQL Server' --这句是登录远程数据库 EXEC sp_add…
SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是“完整(Full)”. 针对这两个前提条件,会有三种情况: 情况一.如果这两个前提条件都存在,通过SQL语句只需三步就能恢复,无需借助第三方工具. a) 备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY b)…
最近遇到一个问题,要将 a 服务器上的 A 库,迁移到 b 服务器上的 B 库,两个库的数据结构是一样的,但是数据库版本是 a 比 b 高,通过 sqlserver  还原这条路是走不通了,那难道除了使用 SQLBlukCopy 就没有别的办法了吗?别急,看下面这种方式. 方式:使用 sqlserver 自带的数据导入工具,我们可以实现数据的快速转移,并且不受 sqlserver 版本的限制. 首先,我们在 b 上,新建一个数据库 B,然后新建数据表,表结构和 a 的 A 保持一致就行.接下来就…
A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' AS B , N'C' AS C ; END 同一台服务器实例,A,B两个数据库, 在B库的存储过程中,调用A库的存储过程 B库: ALTER PROCEDURE [dbo].[spAAAForTest2] ( ) =null , ) =null ) AS BEGIN ); set @sql =…
最近学习SSM项目开发,用到oracle数据库, 使用管理软件PL/sql developer往数据库表中插入数据时记录乱码.  结果如下: 可以看到中文数据都乱码成了???????问号, 看了网上各位大佬的解决办法,说是由于oracle服务器端字符编码 和 Oracle 客户端字符编码不一致引起的. (但是我的oracle服务器端 和 Oracle 客户端字符编码是一样的,这就很纳闷了,但同样用了以下解决办法,搞定!!!) 第一步: 登录PL/sql developer,检查Oracle服务器…
最近发布的脚本,有那种防止重复插入数据(包括存在时更新,不存在是插入的处理,判断的方向可能与下面的示例相反) 使用类似下面的 SQL declare @id int, @value int if not exists( select * from tb where id = @id ) insert tb values( @id, @value ); --else --  update tb set value = @value where id = @id; 或者是使用这种单句的 declar…
比如你在库A ,想查询库B的表.可以用 数据库名.架构名.表名的方式查询 select * from 数据库B.dbo.表1 也可以在存储过程中这样使用. 需要注意的是,如果使用这样的查询方式,你必须要确保该SQL SERVER用户有足够的权限.比如使用SA用户,或者把用户的 服务器角色设置为 sysadmin ,或者给用户映身两个数据库. [笔记]…
use master go select * from sys.dm_os_buffer_descriptors go --查看数据库在数据缓存(data cache)中占用的空间大小 --由于每个数据页对应动态管理视图(dynamic management view,DMV)中的一行,为128 字节,为1/8个千字节(KB) --1字节(Byte)=8位(Bit) --1千字节(KB)=1024字节(Byte) --1兆(MB)=1024千字节(KB) as 'Cached Size(MB)'…
  模拟三个库(同一个实例中),分别是DB1.DB2.DB3 整个事务的业务如下: 1.DB1写入表数据 2.DB2写入表数据 3.DB3调用存储过程写入表数据 4.每次写入表数据间隔模拟抛异常流程,查看数据是否回滚     代码如下:   BEGIN TRY       BEGIN TRAN         INSERT INTO DB1.dbo.Log                 ( Type, Message, Stack, Created )         VALUES  ( 0,…
--禁用外键约束 exec   sp_msforeachtable   'alter   table   ?   nocheck   constraint   all ' --清空数据 truncate   table   表名 --启用外键约束 exec   sp_msforeachtable   'alter   table   ?   check   constraint   all '…
INSERT INTO #DirtyOldWIPBOM SELECT TOP (100) PERCENT dbo.WIP_BOM.Model, dbo.WIP_BOM.PartNumber,WIP_BOM.WIP  FROM dbo.WIP_BOM left OUTER JOIN dbo.BOM_CHINA ON LTRIM(dbo.WIP_BOM.Model) = LTRIM(dbo.BOM_CHINA.Model) AND LTRIM(dbo.WIP_BOM.PartNumber) = LT…
表是5字段int类型,第一个字段是主健,自增字段 表结构: id int  Uncheckedbillno bigint  Uncheckedopid int  Checkedbillopid int  Checkedtag int  Checked 存储过程: CREATE proc [dbo].[inbill]@bills bigint,@bille bigint,@billopid int,@result int output,@incount int outputasbegin  set…
# SQL Server 跨服务器访问数据 参考链接: [sp_addlinkedserver](https://msdn.microsoft.com/zh-cn/library/ms190479.aspx) [sp_addlinkedsrvlogin](https://msdn.microsoft.com/zh-cn/library/ms189811.aspx) > 需求:两个一模一样的表,分别分布在两个服务器的数据库上,现在要在一个表中,查看这两个表的内容   . 在本地数据库查询分析器中,…
转自lwccc, SQLserver2008数据库备份和还原问题(还原是必须有完整备份) 首先,我要说明的是你必须拥有完整的数据库备份,下面的还原教程,才算有用. 这个连接是某高手的异常恢复方法, 实战 SQL Server 2008 数据库误删除数据的恢复 一.先来学习备份数据库,选中需要备份数据库,右击鼠标,如下图: 二.点击备份之后,如下图,点击确定: 三.备份好之后,是还原,选中数据库,右击鼠标. 四.选择源设备,点选右边按钮浏览文件夹,选择备份的文件.     五.点击确定之后,就会进…
SQL Server跨库复制表数据的解决办法   跨库复制表数据,有很多种方法,最常见的是写程序来批量导入数据了,但是这种方法并不是最优方法,今天就用到了一个很犀利的方法,可以完美在 Sql Server 2005 和 Sql Server 2008 中执行!   格式如下: insert into tableA SELECT * FROM  www.2cto.com   OPENDATASOURCE('SQLOLEDB', 'Data Source=127.0.0.1;User ID=sa;P…
sql server的数据库个数.表个数及表的数据量统计   --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobjects:在数据库每个对象(约束.默认值.日志.规则.存储过程)占一行.  --sysindexes:数据库中的每个索引和表在表中各占一行.  --syscolumns:每个表和视图中的每列在表中占一行,存储过程中每个参数在表中占一行.  select * from sysobjects  selec…
Sql Server 跨服务器连接 用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服务器名'; '用户名'; '密码', 数据库名.dbo.表名) --导入示例 select * into 表 from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名) --创建链接服务器 exec…
恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的恢复 这个是一个缺陷,本人决定对这个存储过程扩展一下,支持对log backup文件里的delete语句进行恢复 实验步骤 1.首先先准备好测试表和测试语句 USE [sss] GO --建表 CREATE TABLE testdelete ( id , ) NOT NULL PRIMARY KEY , NA…
恢复SQL Server被误删除的数据 <恢复SQL Server被误删除的数据(再扩展)> 地址:http://www.cnblogs.com/lyhabc/p/4620764.html 曾经想实现Log Explorer for SQL Server的功能,利用ldf里面的日志来还原误删除的数据 这里有一篇文章做到了,不过似乎不是所有的数据类型都支持 以下为译文:http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-s…