sql - R:将完整数据库从 SQL Server 复制/克隆到本地

标签 sql r sql-server sqlite

在 R 中,我与此数据库有 SQL Server 连接:

enter image description here

来自this answer据我了解,这些级别是目录(=数据库)、模式和表。代码如下:

library(odbc)
library(DBI)
library(RSQlite)
library(dbi)
confull <- odbc::dbConnect(odbc(), 
                           Driver = "SQL Server", 
                           Server = "XXX")
odbcListObjects(confull, schema="schema")

产量:

         name    type
1     DBAInfo catalog
2 InBluePrism catalog
3      master catalog
4        msdb catalog
5      tempdb catalog

问题:

  1. 如何提取该数据库的完整结构树,而不仅仅是目录
  2. 如何以编程方式将整个数据库(包括所有表、架构和目录)保存(克隆)到本地 SQLite 表中?

对于第一个问题,我尝试了以下方法:

> all_schemas <- DBI::dbGetQuery(confull, "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA")
> all_schemas
                SCHEMA_NAME
1                       dbo
2                     guest
3        INFORMATION_SCHEMA
4                       sys
5              CCAutomation
6      XXXXXX\\xxxAdmin
7      XXXXXX\\z_swmon
8      NT AUTHORITY\\SYSTEM
9      XXXXXX\\z_Backup
10                 db_owner
11           db_accessadmin
12         db_securityadmin
13              db_ddladmin
14        db_backupoperator
15            db_datareader
16            db_datawriter
17        db_denydatareader
18        db_denydatawriter

对于第二个问题,我尝试过:

  1. 在 SQL Server 中生成脚本,但我收到错误,而且我想保持此程序化。
  2. 但是,为了保存 dbListTables(confull) 给出的所有表,我会丢失有关这些表所属的目录和架构的信息。
<小时/>

编辑:以下link还包含有用的信息

最佳答案

我不知道您拥有哪个版本的 SQL Server。我基于我所拥有的 SQL Server 2008 和 2016。

要使用 CLI 工具,您可以下载 Export2SqlCE.zip

描述:

SQL Server 2005/2008 command line utility to generate a SQL Compact or SQLite compatible script with schema and data (or schema only)

下载后,您可以运行它来提取信息:

Export2SQLCE.exe "Data Source=(local);Initial Catalog=<your_database>;Integrated Security=True" your_database.sql sqlite 

关于sql - R:将完整数据库从 SQL Server 复制/克隆到本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58609661/

相关文章:

mysql - 需要用两个不同的 where 子句返回两组数据

sql - Write-SqlTableData 失败,ConnectionToServerFailed 中途失败

r - r中使用prewhiten函数出错

sql-server - 创建一个存储过程来聚合行

sql-server - 带子运行总计的递归 SQL 查询

sql - Linq to WCF OData 是否适合复杂查询

mysql - 从表中进行多项选择

r - R 中的 Keras : high accuracy model predicts same output class

r - 从 R 中的列表中获取时的默认值

sql - 在单个 SQL Server 实例中使用多个数据库排序规则会出现哪些问题?