gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 00:18:42 28 4
gpt4 key购买 nike

在 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com