How to scramble data in SQL? - tsql

We have some data in the SQL server table that needs to scramble. Some data are string and some data are date.
What is best way to do this?

Are you talking about Obfuscating your SQL Server Data? (To create a development version based on the production data without exposing the production data itself)
Or do you want it encrypted?

SQL Server 2005 introduced encryption support. Check out this article here.

Related

Is Change tracking feature available in PostgreSQL similar to that of Microsoft SQL Server?

Is Change tracking feature available in PostgreSQL similar to that of Microsoft SQL Server. Actually we are using PostgreSQL and MS SQL together and want to move changed data from PostgreSQL to MS SQL using change tracking. How to achieve this in best possible and lightweight way?
Yes, there is something like that.
It's called logical decoding and is part of the infrastructure for logical replication. While logical replication can only be used between two Postgres instances, logical decoding can be used independently of that (if you write the code to consume the messages).
Tools like Debezium make use of that

PostgreSql or SQL Server 2008 R2 should be use with .Net application using entity framework?

I have a database in PostgreSQL with millions of records and I have to develop a website that will use this database using Entity Framework (using dotnetConnect for PostgreSQL driver in case of PostgreSQL database).
Since SQL Server and .Net are both native to the Windows platform, should I migrate the database from PostgreSQL to SQL Server 2008 R2 for performance reasons?
I have read some blogs comparing the two RDBMS' but I am still confused about which system I should use.
There is no clear answer here, as its subjective, however this is what I would consider:
The overhead of learning a new DBMS and its tools.
The SQL dialects each RDBMS uses and if you are using that dialect currently.
The cost (monetary and time) required to migrate from PostgreSQL to another RDBMS
Do you or your client have an ongoing budget for the new RDBMS? If not, don't make the mistake of developing an application to use a RDBMS that will never see the light of day.
Personally if your current database is working well I wouldn't change. Why fix what isn't broke?
You need to find out if there is actually a problem, and if moving to SQL Server will fix it before doing any application changes.
Start by ignoring the fact you've got .net and using entity framework. Look at the queries that your web application is going to make, and try them directly against the database. See if its returning the information quick enough.
Only if, after you've tuned indexes etc. you can't make the answers come back in a time you're happy with should you decide the database is a problem. At that point it makes sense to try the same tests against a SQL Server database, but don't just assume SQL Server is going to be faster. You might find out that neither can do what you need, and you need to use faster disks or more memory etc.
The mechanism you're using to talk to a database (DotConnect or Microsoft drivers) will likely be a very minor performance consideration, considering the amount of information flowing (SQL statements in one direction and result sets in the other) is going to be almost identical for both technologies.

SSIS 2008 working with ADO.NET destination

I am trying to load data from falt file source to Sybase IQ 15.1 destination using SSIS 2008. I am using ADO.NET destination component with Sybase IQ ODBC data provider to connect to the Sybase IQ db. Though the package is able to load the data, performance of the package is extremely slow. Its just loading 150 rows per minute. I am executing the package through SQL Server Agent. There are no data transformations in the package.
Can any one please tell me how can i improve the performance?
Thanks in advance
ODBC drivers are generally slow. How many columns are you pulling in? Also, have you checked your buffer sizes and stuff?
Use BulkInsertWheneverPossible property to true, it will improve the performance.
To access that property right click->ADO.NET destination-> choose properties or ShowAdvanceEditor
(MSDN Reference)
http://technet.microsoft.com/en-us/library/ms135971(v=sql.105).aspx#adonet
A value that specifies whether to use the System.Data.SqlClient.SqlBulkCopy interface to improve the performance of bulk insert operations. Only certain ADO.NET providers support this interface.
The default value is True.

PostgreSQL data comparsion tool

I am looking for a tool/command which can compare data between two PostgreSQL databases. The reason to do this is to have some external verification that the SQL script responsible for data migration from one PostgreSQL database to the other have been written correctly.
Any pointers would be appreciated
regards
Sameer
EMS makes a tool which can do this.
http://sqlmanager.net/en/products/postgresql/dbcomparer
The PostgreSQL site has a nice Software catalogue. Peruse the Administration/development tools category.

Copying Databases Between Servers

I know this isn't recommended but my development server is 2008 while my production server is 2000.
What is the easiest way to copy databases back and forth? For example, I just created a database with a robust date table which I intend to use in my queries. I figured the easiest way would be to back up the database and restore it to the other server.
What is the most expedient way to do this in either direction?
Backup-copy-restore is just as fast if not faster than detach-copy-attach. Especially if you get great compression with the backup--that copy step will take a lot less time!
You can use BACKUP DATABASE and RESTORE DATABASE, or sp_detach_db and sp_attach_db stored procedures.
Read this article about transfer SQL Server databases to a new location:
"Moving SQL Server 7.0 Databases to a New Location"
Have you considered the Microsoft SQL Server Database Publishing Wizard? It will script your database, including the data to TSQL.