How to open SDF file - database

So I am aware that typically an SDF file would be thought to be a SQL Server Compact Database file. However it is highly unlikely that is the case here.
I have a client that is trying to pull their data out of a legacy system. I've been given access to the data files and some go back as far as 1998. According to this:
http://fileinfo.com/extension/sdf
these files are likely Standard Data Files. This makes sense based on the naming of the files as well. Each file name appears to be what I would normally consider a table name. My understanding is that a SQL Server Compact Database would have all of these tables in a single file.
So the question now is what system can read these SDF files. What late 90s database programs would use SDF files? I've tried Googling this and it doesn't look like there is much on the topic.

Related

how do i determine oracle database name of data source

I've been searching around and haven't found anything on my scenario that I understand:
I have a list of all of the Oracle databases and corresponding servers that my company owns (about 80 servers 150 databases). I am trying to figure out which one a specific file is being downloaded from (from a webpage).
I am mechanical engineer, not in software so if you could eli5 that would be very helpful.
Specifically I need the SID name, but figuring out the server name
would also be helpful.
Your question is kind of tricky here. if your downloading the file from web application(I assuming it is a Java webapp), oracle database could act as either the data store or a report server that can generate the oracle reports directly
In the first case, you need to find out if what kind of file you are downloading?
is it a PDF? is it a excel file? or just text file or anything? the best idea is to check out the file link and then decide what software generating this file. it could be any software in back end to generate the file like, POI(for generating excel file), or even a direct file link, but not oracle at all.
Also, In this case, the file is usually generated at backend by server-let. You need ask the developer which report or file generating engine they are employing. and if oracle database is also being used, it is usually providing the data fro that report or file engine.
In the second case, you can just check out the the URL and give it to the webmaster asking them which oracle server it is using. it is usually configured in the web server.

How to read the meta data out of SQL Server backup files directly?

Generally to get the meta data from SQL Server backup files, we need to use TSQL commands like restore headeronly or restore filelistonly. However, there are some third party tools can read this information directly from the backup files, like this one http://www.yohz.com/sqlbakreader_details.htm. Since this tool don't have a command line version, which makes it less useful. I want to know whether there are some ways that I can read this data directly.
Thanks.
The .bak file is a Microsoft Tape Format file. Here's a PDF that contains the format.
Of interest to you will be:
For a quick dump (if you are on the SQL Server in question that created the backup), you can do select from the [msdb].[dbo].[backup*] tables.
See this article for more info.
I think you may be able to use SQL Servers SMO libraries and write your own in .net or Powershell. If you take a look at this page http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.restore.readbackupheader.aspx there are code samples in VB.Net and Powershell.

T-SQL File Stream Enable Database

I am using T-SQL and Microsoft Management Studio 2008 R2. I want to create a database in which I can store video files.
After google search and some reading I have learned that there is a option to use "File Stream Enable Database". It was said that this kind of database should be used only when your files are larger then 2MB. I want to store video files, so I think this is suitable for my goals.
Please, give me more information about the main difference in using BLOB and FileStream Enable database or just to store the files in a given directory and to save only the url in the database table column?
Thanks in advance.
Filestream was an interesting change when it came in for me; the bit that suprised me was Full Text Search was taken out of the operating system because it caused issues; but file stream put it back because Blobs caused issues.
Using Filestream is basically transparent to your application and it even backs the files up as if they were in the database - and thats the big benefit or cost over the save in database v save pointer in database.
You can insert files the same way as you did before and you can read them back in SQL in exactly the same way. The difference and benefit is that that SQL can take advantage of Windows system cache for reading and files saving its own resources to make other queries run quicker.
Please, give me more information about the main difference in using BLOB and FileStream Enable
database
The feature you call for is "FileStream" not "FileStream enable".
Some blogs are also around, like http://blogs.msdn.com/b/rdoherty/archive/2007/10/12/getting-traction-with-sql-server-2008-filestream.aspx
At kleast try reading the documentation before running around and have other people do your basic groundwork.

Two question about mdf file in sql server

I don't have any experience in SQL databases.
I want to use Microsoft SQL server and i need to ask two questions:
I want to know what are the disadvantage and advantage of saving the data in the mdf file.
Is there some easy way to 'copy' the data that i saved in the mdf file to the regular table ?
1) Question doesn't make sense: All data is stored in .mdf or .ndf data files (in reality the extension doesn't matter, it's just a convention)
2) You seem to be mixing the concept of a table and a data file. Backups are used to create safe copies of your data. The tables you see in SSMS are stored in data files (via filegroups).
If you don't know anything about SQL Server, you should start by finding a good book (and go to a good training course) to understand the basic concepts. The documentation is very extensive, but it's really a reference and not a learning tool.
Having said that, have you read the documentation on files and filegroups in SQL Server? All data in SQL Server is stored in .mdf (and possibly .ndf) files. Unless you're using SQL Server Compact, I believe.
And what are "regular tables"? Are you perhaps using Access as a front-end to SQL Server?

Searching for a string 'somewhere' in a database

Here's my problem: I'm looking at someone's Postgresql based database application for the first time and trying to find what is causing certain warnings/errors in the system's logfile. I don't know anything about the database schema. I don't know anything about the source code. But I need to track down the problem.
I can easily search for string contents of text file based code like php and perl, using the UNIX command 'grep'; even for compiled binaries I can use use the UNIX commands 'find' and 'strings'.
My problem is that some of the text produced in the logfile comes from the database itself. Checking the error logfile for the database yields nothing useful as there are no problems with the queries used by the application.
What I would like to do is exhaustively search all of the columns and all of the tables of the database for an string. Is this possible, and how?
Thanks in advance for any pointers. The environment used is Postgresql 8.2, but it would be useful to know how to do this in other flavors of relational databases as well.
It may not be optimal, but since I already know how to grep a text file I would just covert the database to a text file and grep that. Converting the database to a text file in this case would mean dumping the data using pg_dump.
The quickest/easiest/most efficient way isn't always elegant...
I am not familiar with Postgresql, but I would think that, like SQL Server, it has meta-data tables/views that describe the schema of the database (for SQL Server 2005+, I'd be referring you to sys.tables and sys.columns). The idea would be to generate a series of ad-hoc queries based on the table schema, each one finding matches in a particular table/field combination and pumping matches into a "log" table.
I've used variants of this in the past.

Resources