# SQL Server MDF文件导出配置指南

## 📋 概述

数据提取与转换器现在支持导出SQL Server数据库文件（.mdf格式）。由于.mdf文件需要SQL Server实例来访问，请按照以下步骤配置。

## 🔧 系统要求

### 必需组件
1. **SQL Server Express/Developer/Standard/Enterprise** 版本
2. **SQL Server Native Client** 或 **ODBC Driver for SQL Server**
3. **Python pyodbc库**（已自动安装）

### 推荐配置
- SQL Server 2019 Express（免费版本）
- ODBC Driver 17 for SQL Server

## 🚀 安装步骤

### 1. 安装SQL Server（如果未安装）

**下载SQL Server Express（免费）：**
- 访问: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
- 下载: SQL Server 2019 Express
- 安装时选择"基本"安装类型

**安装注意事项：**
- 记住设置的sa密码
- 选择"混合模式"认证
- 记下实例名称（默认为MSSQLSERVER）

### 2. 安装ODBC驱动程序

**下载ODBC Driver 17 for SQL Server：**
- 访问: https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server
- 下载并安装最新版本

### 3. 验证安装

**检查SQL Server服务：**
1. 打开"服务"管理器（services.msc）
2. 确保"SQL Server (MSSQLSERVER)"服务正在运行

**测试连接：**
```bash
# 使用sqlcmd测试连接
sqlcmd -S localhost -U sa -P your_password
```

## ⚙️ 应用配置

### 默认连接参数
应用使用以下默认连接参数：
- **服务器**: localhost
- **用户名**: sa
- **实例**: MSSQLSERVER

### 自定义配置
如需修改连接参数，可在`.env`文件中添加：
```env
# SQL Server配置
MSSQL_SERVER=localhost
MSSQL_USERNAME=sa
MSSQL_PASSWORD=your_password
MSSQL_INSTANCE=MSSQLSERVER
```

## 📁 MDF文件处理流程

### 自动附加数据库
应用会自动执行以下步骤：
1. 连接到SQL Server实例
2. 检查数据库是否已存在
3. 如果不存在，自动附加.mdf文件
4. 读取表结构和数据
5. 导出为指定格式
6. 分离数据库（可选）

### 支持的功能
- ✅ 导出所有表到Excel（多sheet）
- ✅ 导出指定表
- ✅ 导出为CSV格式
- ✅ 导出为JSON格式

## 🔍 故障排除

### 常见问题

**1. "无法连接到SQL Server"**
- 检查SQL Server服务是否运行
- 验证连接字符串参数
- 检查防火墙设置

**2. "附加数据库失败"**
- 确保.mdf文件未被其他进程占用
- 检查文件权限
- 尝试手动附加数据库

**3. "ODBC驱动未找到"**
- 安装ODBC Driver for SQL Server
- 检查系统PATH环境变量

### 手动附加数据库

如果自动附加失败，可以手动附加：
```sql
-- 在SQL Server Management Studio中执行
CREATE DATABASE [YourDatabaseName]
ON (FILENAME = 'C:\\path\\to\\your\\file.mdf')
FOR ATTACH;
```

## 🎯 使用示例

### 基本使用
1. 启动应用
2. 选择"🗄️ 数据库导出"功能
3. 上传.mdf文件
4. 选择导出格式
5. 点击"开始导出"

### 高级选项
- 指定表名：只导出特定表
- 自定义连接：修改.env文件中的连接参数

## 📚 相关资源

- [SQL Server文档](https://docs.microsoft.com/en-us/sql/)
- [ODBC驱动文档](https://docs.microsoft.com/en-us/sql/connect/odbc/)
- [pyodbc文档](https://github.com/mkleehammer/pyodbc)

## 💡 注意事项

1. **安全性**: 生产环境中使用强密码
2. **性能**: 大文件可能需要较长时间处理
3. **兼容性**: 支持SQL Server 2008及以上版本
4. **权限**: 确保应用有足够的数据库权限